    package com.maoxs.base.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.time.LocalDateTime;
import java.io.Serializable;

import com.maoxs.enums.UserTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author fulin
 * @since 2018-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class User extends Model<User> {

    private static final long serialVersionUID = 1L;

    //----------------- 公共字段填充注解
    //      ==> AUTO            数据库ID自增
    //      ==> NONE            默认状态默认为ID_WORKER 全局唯一ID为空自动填充
    //      ==> INPUT           用户输入配合序列
    //      ==> ID_WORKER       分布式高效有序ID生产黑科技 全局唯一ID 为空自动填充
    //      ==> ID_WORKER_STR   分布式高效字符串ID生产黑科技 全局唯一ID 为空自动填充
    //      ==> UUID            这个大家都懂 全局唯一ID 为空自动填充
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private String name;

    private Integer age;

    @TableLogic(value = "0", delval = "1")
    private Integer isDelete;
    //----------------- 公共字段填充注解
    //      ==> DEFAULT         默认不处理
    //      ==> INSERT          插入填充字段
    //      ==> UPDATE          更新填充字段
    //      ==> INSERT_UPDATE   插入/更新填充字段
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime createDate;

    private UserTypeEnum UserType;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}



